#! /bin/bash

# Installer et configurer Hadoop map-reduce ainsi que le mrtoolkit en ruby.
# Ce script est l'étape 2 : installer mrtoolkit
# étape 1 : install_hadoop.sh
# Besoin des droits admin

config_mrtoolkit(){

    echo "Configuration mrtoolkit..."
    export RUBYLIB=$HOME/mrtoolkit/lib

    export HADOOP_HOME=$HOME/hadoop-0.20.2
    export HADOOP_STREAMING_VERSION=0.20.2
    PATH=$PATH:$HADOOP_HOME/bin

    echo "export RUBYLIB=$HOME/mrtoolkit/lib; export HADOOP_HOME=$HOME/hadoop-0.20.2; \
export HADOOP_STREAMING_VERSION=0.20.2; PATH=$PATH:$HADOOP_HOME/bin" >> ~/.bashrc

    echo "export RUBYLIB=$HOME/mrtoolkit/lib; export HADOOP_HOME=$HOME/hadoop-0.20.2; \
export HADOOP_STREAMING_VERSION=0.20.2; PATH=$PATH:$HADOOP_HOME/bin" 
}

help(){
    echo "Ce script nécessite les droits administrateur."
    echo -e "options :\n\t -a : archive_mrtoolkit en tar.gz (normalement mise sur le google code)"
    echo -e "\t -h : cette même aide."
    echo -e "Si on donne 3 adresses en argument, cela correspond aux adresses IP du maitre et de deux esclaves."
}

ARCHIVE_MRTOOLKIT=

if [ $# -eq 1 ] ; then
    if [ $1 = "-c" ] ; then
        config
        exit
    fi
    
    if [ $1 = "-a" ] ; then
    ARCHIVE_MRTOOLKIT=$1
    fi

    if [ $1 = "-h" ] ; then
        help
        exit
    fi
fi

echo "Il faut connaitre les IPs du maitre et des esclaves"
# IP_M1=
# IP_M2=
# IP_M3=

echo "nbr d'args=$#"
if [ $# -eq '3' ] ; then
    IP_M1=$1
    IP_M2=$2
    IP_M3=$3
    
fi

echo "IP_M1=$1"; echo "IP_M2=$2"; echo "IP_M3=$3"

################################################################################
# Installer ruby mrtoolkit (dans l'instance maitre)
################################################################################
install_mrtoolkit(){
    if [ -f /usr/bin/ruby ] ; then
        apt-get install -y ruby rake        
    fi
    


# télécharger 
    cd
# mkdir mrtoolkit
# cd mrtoolkit
ARCHIVE_MRTOOLKIT=https://ecom-coloc.googlecode.com/svn-history/r485/branches/gicom/src/hadoop/hadoop_toolkit.tar.gz

    if [ ! $ARCHIVE_MRTOOLKIT ] ; then
        echo "==================" && echo "On doit préciser une archive du mrtoolkit soit en parametre avec -a <archive.tar.gz> soit en dur au début du script."
        echo "Arret de l'installation (on pourra reprendre seulement la fonction sur mrtoolkit)." && echo "==============="
        exit
    fi
    
    echo "Tél archive mrtoolkit..."
    wget -nv $ARCHIVE_MRTOOLKIT
    # tar xvf mrtoolkit-0.1.tar
    tar xf hadoop_toolkit.tar.gz

    echo "Tél le vrai rmtoolkit"
    wget -nv https://mrtoolkit.googlecode.com/files/mrtoolkit-0.1.tar && echo "wget ok"
    tar xf mrtoolkit-0.1.tar

#Configure:

    echo "Configuration mrtoolkit..."
    export RUBYLIB=$HOME/mrtoolkit/lib

    export HADOOP_HOME=$HOME/hadoop-0.20.2
    export HADOOP_STREAMING_VERSION=0.20.2
    PATH=$PATH:$HADOOP_HOME/bin

    echo "export RUBYLIB=$HOME/mrtoolkit/lib; export HADOOP_HOME=$HOME/hadoop-0.20.2; \
export HADOOP_STREAMING_VERSION=0.20.2; PATH=$PATH:$HADOOP_HOME/bin" >> ~/.bashrc

    echo "export RUBYLIB=$HOME/mrtoolkit/lib; export HADOOP_HOME=$HOME/hadoop-0.20.2; \
export HADOOP_STREAMING_VERSION=0.20.2; PATH=$PATH:$HADOOP_HOME/bin" 

# import_logs (et formater en hadoop file system)
    
    cd my-examples-jonas
    mv logs mylogs

    cd
    if [ -f id_rsa-pstam-keypair.tar ] ; then
        tar xf id_rsa-pstam-keypair.tar
    fi
    
    cp id_rsa-pstam-keypair ~/.ssh/id_rsa #vince
    sudo chmod og+r /home/ubuntu/.ssh/id_rsa
    sudo chmod 777 -R hadoop-0.20.2/
	
	cd
	cd hadoop-0.20.2/bin 
	chmod a=rwx *
	cd 
	cd hadoop-0.20.2/data/
    chmod go=rwx * 

}

